module(
    name = "swiftlint",
    version = "0.62.1",
    compatibility_level = 1,
    repo_name = "SwiftLint",
)

bazel_dep(name = "apple_support", version = "1.21.1", repo_name = "build_bazel_apple_support")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "rules_apple", version = "4.2.0", repo_name = "build_bazel_rules_apple")
bazel_dep(name = "rules_cc", version = "0.1.2")
bazel_dep(name = "rules_shell", version = "0.4.0", repo_name = "build_bazel_rules_shell")
bazel_dep(name = "rules_swift", version = "3.1.2", max_compatibility_level = 3, repo_name = "build_bazel_rules_swift")

bazel_dep(name = "sourcekitten", version = "0.37.2", repo_name = "SourceKittenFramework")
bazel_dep(name = "swift_argument_parser", version = "1.6.1", repo_name = "SwiftArgumentParser")
bazel_dep(name = "yams", version = "6.1.0", repo_name = "Yams")

swiftlint_repos = use_extension("//bazel:repos.bzl", "swiftlint_repos_bzlmod")
use_repo(
    swiftlint_repos,
    "CollectionConcurrencyKit",
    "CryptoSwift",
    "SwiftSyntax",
    "SwiftyTextTable",
)

extra_rules = use_extension("//bazel:extensions.bzl", "extra_rules")
use_repo(extra_rules, "swiftlint_extra_rules")

apple_cc_configure = use_extension("@build_bazel_apple_support//crosstool:setup.bzl", "apple_cc_configure_extension")
use_repo(apple_cc_configure, "local_config_apple_cc")

# Dev Dependencies

bazel_dep(name = "rules_xcodeproj", version = "3.2.0", dev_dependency = True)
